Conventional communication networks allow network devices to exchange data with one another. For example, one personal computer connected to a network may transmit data to another personal computer that is also connected to the network. Some networks transmit data in the form of network packets. A packet may include not only data to be transmitted, but also information usable to route the packet, to check the packet for errors, and to reassemble a message of which the packet is a part.
Packets are therefore subjected to various processing as they travel through a network. The time required to process packets may limit the speed at which packets can be exchanged between network devices. As networks continue to physically support greater and greater data transmission speeds, efficient packet processing systems are increasingly desirable.